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