init
This commit is contained in:
42
zscript/actor/blast_boots.zs
Normal file
42
zscript/actor/blast_boots.zs
Normal file
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright © 2024 Nicole O'Connor
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
class PowerBlastJump : Powerup {
|
||||
override void InitEffect() {
|
||||
let ply = ChexPlayerHGA(Owner);
|
||||
ply.AddZ(72); // double std jump height
|
||||
}
|
||||
}
|
||||
|
||||
class InvBlastBoots : PowerupGiver {
|
||||
Default {
|
||||
//$Category "Powerups"
|
||||
//$Title "Blast Boots"
|
||||
+COUNTITEM
|
||||
Tag "$TAG_BLASTBOOTS";
|
||||
|
||||
Inventory.Icon "NULLA0";
|
||||
Inventory.AltHUDIcon "NULLA0";
|
||||
Inventory.PickupMessage "$TXT_BLASTBOOTS";
|
||||
}
|
||||
|
||||
States {
|
||||
Spawn:
|
||||
NULL A -1;
|
||||
Stop;
|
||||
}
|
||||
}
|
||||
|
29
zscript/actor/playerhga.zs
Normal file
29
zscript/actor/playerhga.zs
Normal file
@@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Copyright © 2024 Nicole O'Connor
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
class ChexPlayerHGA : ChexPlayer {
|
||||
bool PowerModulatorCooling;
|
||||
int PowerModulatorCooldownTicker;
|
||||
property PowerModulatorCooling: PowerModulatorCooling;
|
||||
property PowerModulatorCooldownTicker: PowerModulatorCooldownTicker;
|
||||
Default {
|
||||
Player.WeaponSlot 3, "LargeZorcherHGA";
|
||||
Player.WeaponSlot 4, "RapidZorcherHGA";
|
||||
|
||||
ChexPlayerHGA.PowerModulatorCooling false;
|
||||
ChexPlayerHGA.PowerModulatorCooldownTicker 0;
|
||||
}
|
||||
}
|
53
zscript/actor/power_modulator.zs
Normal file
53
zscript/actor/power_modulator.zs
Normal file
@@ -0,0 +1,53 @@
|
||||
/*
|
||||
* Copyright © 2024 Nicole O'Connor
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
class PowerWeaponLevel2HGA : PowerWeaponLevel2 {
|
||||
override void EndEffect() {
|
||||
let ply = ChexPlayerHGA(Owner);
|
||||
ply.PowerModulatorCooling = false; // placeholder for secondary cooldown effect logic
|
||||
Super.EndEffect();
|
||||
}
|
||||
}
|
||||
|
||||
class InvPowerModulator : PowerupGiver {
|
||||
Default {
|
||||
//$Category "Powerups"
|
||||
//$Title "Power Modulator"
|
||||
+COUNTITEM
|
||||
Tag "$TAG_POWERMODULATOR";
|
||||
Powerup.Type "PowerWeaponLevel2HGA";
|
||||
Powerup.Duration -15;
|
||||
Inventory.Icon "NULLA0";
|
||||
Inventory.AltHUDIcon "NULLA0";
|
||||
Inventory.PickupMessage "$TXT_POWERMODULATOR";
|
||||
}
|
||||
|
||||
States {
|
||||
Spawn:
|
||||
NULL A -1;
|
||||
Stop;
|
||||
}
|
||||
|
||||
override bool Use(bool pickup) {
|
||||
let ply = ChexPlayerHGA(Owner);
|
||||
|
||||
if (ply.PowerModulatorCooling) { return false; }
|
||||
else {
|
||||
ply.PowerModulatorCooling = true; // start the cooldown
|
||||
return Super.Use(pickup); // hand off to zdoom for std "weaponlevel2" effect
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user