Making it Snow in game: Difference between revisions
pc>Zalittle Create a temporary Auto-Cast power to make it snow in-game on outdoor maps. |
m 5 revisions imported: Importing Portal Corps Wiki pages and history - Feb 6, 2020 |
||
(4 intermediate revisions by one other user not shown) | |||
Line 6: | Line 6: | ||
*Powers - Not necessary for this but helpful: https://corps.ouro-comdev.com/index.php?title=Powers | *Powers - Not necessary for this but helpful: https://corps.ouro-comdev.com/index.php?title=Powers | ||
=== | === Files to be modified/created === | ||
*\serverdata\defs\powers\Temporary_Powers_Temporary_Powers.powers | *\serverdata\defs\powers\Temporary_Powers_Temporary_Powers.powers | ||
::-We will modify this file, it is the actual powers located in "Temporary Powers" | ::-We will modify this file, it is the actual powers located in "Temporary Powers" | ||
Line 15: | Line 15: | ||
*\serverdata\specs\maps.spec | *\serverdata\specs\maps.spec | ||
::-We will modify this file, it will attach our script to the specific maps | ::-We will modify this file, it will attach our script to the specific maps | ||
== Powers Files == | |||
=== Temporary_Powers.powersets === | |||
We are going to open up Temporary_Powers.powersets to modify it, open it with notepad or notepad++. | |||
Around line 6089 should be the end of the Temporary_Powers category before the start of Temporary_Powers.Accolades. Before the ending }, we need to add the following. Please keep in mind that the name following Temporary_Powers.Temporary_Powers.<NAME> is going to be the name of the power, and needed for the next step! | |||
<pre>Powers Temporary_Powers.Temporary_Powers.Holiday_Snow | |||
Available 0 | |||
AIMaxLevel 0 | |||
AIMinRankCon -9999 | |||
AIMaxRankCon 9999 | |||
MinDifficulty 2 | |||
MaxDifficulty 9999</pre> | |||
=== Temporary_Powers_Temporary_Powers.powers === | |||
I simply added the new power to the end of the Temporary_Powers_Temporary_Powers.powers file | |||
<pre> | |||
Power Temporary_Powers.Temporary_Powers.Holiday_Snow | |||
{ | |||
Name "Holiday_Snow" | |||
DisplayName "Holiday_Snow" | |||
Type kAuto | |||
Accuracy 1 | |||
EntsAffected kCaster | |||
EntsAutoHit kCaster | |||
Target kCaster | |||
Range 0 | |||
EnduranceCost 0 | |||
IdeaCost 0 | |||
InterruptTime 0 | |||
TimeToActivate 0 | |||
RechargeTime 0 | |||
ActivatePeriod 50000 | |||
EffectArea kCharacter | |||
Radius 0 | |||
Arc 0 | |||
AIReport kNever | |||
// Additional Power Factors | |||
ShootThroughUntouchable kTrue | |||
DisplayShortHelp "Holiday_Snow" | |||
DisplayHelp "Holiday_Snow" | |||
TimeToConfirm 0 | |||
CastThroughHold kTrue | |||
CastThroughSleep kTrue | |||
CastThroughStun kTrue | |||
CastThroughTerrorize kTrue | |||
DoNotSave kTrue | |||
ShowInManage kFalse | |||
ShowInInventory kFalse | |||
ShowInInfo kFalse | |||
ShowBuffIcon kFalse | |||
IconName "Temporary_HolidayPBAoE.tga" | |||
AttribMod | |||
{ | |||
Name "Ones" | |||
Table "Ranged_Ones" | |||
Aspect kCur | |||
Attrib kNull | |||
Target kTarget | |||
Scale 1 | |||
Type kMagnitude | |||
AllowStrength kFalse | |||
AllowResistance kFalse | |||
Delay 0 | |||
Duration 9999 | |||
Magnitude 1 | |||
Period 0 | |||
Chance 1 | |||
NearGround kFalse | |||
CancelOnMiss kFalse | |||
StackType kReplace | |||
ContinuingFX WORLD\WinterEvent\N_SnowFall.fx | |||
} | |||
}</pre> | |||
This is basically the Instant SnowStorm power with a few tweaks. It shouldn't stay across zones (dismisses once you leave the zone) and it does not have the initial cast animations. | |||
== The Scripts and Specs == | |||
=== Scripts === | |||
Create a new file in \serverdata\scripts.loc\ScriptDefs and name it Holiday_Snow.script.def | |||
Put the following contents into the file to tell it to automatically grant the temporary power we created. | |||
<pre>ScriptDef | |||
{ | |||
ScriptName OnEnterGrantPowerZone | |||
// Vars | |||
var Power = Temporary_Powers.Temporary_Powers.Holiday_Snow | |||
}</pre> | |||
=== maps.spec === | |||
Maps.spec includes alot of information for zones. Specifically we want to add a ZoneScript to each zone that we want snow to appear in. Here is what a zone looks like in maps.spec | |||
<pre>// Atlas Park | |||
Map City_01_01.txt | |||
{ | |||
// appropriate level ranges for this zone | |||
MissionMinLevel 1 | |||
SpawnOverrideMinLevel 1 | |||
SpawnOverrideMaxLevel 10 | |||
ZoneScripts scriptdefs/LevelOne_LevelUpReminder.scriptdef | |||
MissionsAllowed Hero | |||
PlayersAllowed Hero | |||
MissionDoors Office, AbandonedOffice, Warehouse, AbandonedWarehouse, Sewers, Caves, Tech, 911_AP_Family_Jewels, 911_AP_First_National, 911_AP_Exchange, PPD_APdoor1, PoliceBandCaves, PoliceBandSewers, PoliceBandOffice ,PoliceBandAbandonedOffice, PoliceBandWarehouse, PoliceBandAbandonedWarehouse, PoliceBandCircleOfThorns, Safeguard, Architect, AP_PP_Office, AP_PP_AbandonedOffice, AP_PP_Sewers, AP_PP_Caves, AP_PP_Manhole, AP_PP_AbandonedWarehouse, AP_PP_Warehouse, AP_TP_Caves, AP_TP_AbandonedOffice, AP_TP_Office, AP_TP_Sewers, AP_TP_Tech, AP_TP_Manhole, AP_TP_AbandonedWarehouse, AP_TP_Warehouse, AP_HW_Office, AP_HW_AbandonedOffice, AP_HW_Tech, AP_HW_Sewers, AP_HW_Truck, AP_HW_Manhole, AP_HW_AbandonedWarehouse, AP_HW_Warehouse, AP_D_AbandonedOffice, AP_D_Office, AP_D_Sewers, AP_D_Tech, AP_D_Tech, AP_D_Warehouse, AP_D_Manhole, AP_D_Truck, AP_D_AbandonedWarehouse, AP_AI_AbandonedWarehouse, AP_AI_AbandonedOffice, AP_AI_Warehouse, AP_AI_Sewers, AP_AI_Sewers, AP_AI_Tech, AP_AI_Manhole, AP_AI_Truck, AP_MH_Mission4, AP_OF_M3, RS_I_1, AP_AT_M4, AP_SC_M4, OGT_ShiningStarsBaseOne, OmegaTeamMemorial, SigStory2PhalanxHQ | |||
PersistentNPCs FreedomCorp_City_01_01, Tony_Kord, Laurence_Mansfield, Jose_Brogan, FreedomCorp_City_01_01b, Susan_Davies, Security_Chief_01, MsLiberty, FreedomCorp_City_01_03, Iris_Parker, SuperGroupRegistrar, City_Representative, Sarah_Juarez, Henry_Peter_Wong, Azuria, Rick_Davies, Sarah_Peters, Security_Chief_04, Jonathan_Smythe, FreedomCorp_City_01_01c, Charlie, NotorietyContact6, Architect_Studio_Manager_H_AP, Architect_Greeter_AP, Architect_Instructor_AP, Architect_ComputerTech_AP, Architect_AsstManager_AP, Architect_MedicalTech_AP, Architect_VenderTech_AP,OGTH_Dillo_Act1, OGTH_Flambeaux_Act1, OGTH_Grym_Act1, OGTH_Proton_Act1, OGTH_Twinshot_Act1, Officer_Nelson_HabashyMish2, Wavelength, TUNNEL_Paragon, AntonioNashSSA2_2 | |||
VisitLocations Statue1, Patrol_Hard_5_City_01_01, Patrol_Hard_4_City_01_01, Patrol_Hard_3_City_01_01, Patrol_Hard_2_City_01_01, Patrol_Hard_1_City_01_01, Patrol_Easy_5_City_01_01, Patrol_Easy_4_City_01_01, Patrol_Easy_3_City_01_01, Patrol_Easy_2_City_01_01, Patrol_Easy_1_City_01_01, | |||
//Plaques CitizenCrimeAct2, AxisAttack1, CitizenCrimeAct1, MightForRightAct1, PsychicFeedbackLoop1, | |||
EncounterLayouts AroundDoor, Single, Snatch, Ambush, AroundVandalism, Around, | |||
VillainGroups Clockwork, Hellions, Vahzilok, Skulls, Arachnos | |||
}</pre> | |||
We basically want to add | |||
<pre>ZoneScripts scriptdefs/Holiday_Snow.scriptdef</pre> | |||
to the end of the ZoneScripts area of each map we want to enable this on. Once you have done that, save your files, and bin away. When you start the server and enter a zone that has that script, you will be granted the power and it will start snowing. When you leave the map and enter one that does not have the script, the power should go away. |
Latest revision as of 10:02, 6 February 2020
The Setup
There are several files that need to be modified to make this work. First, we need to create a new Temporary Power, and add it to the Temporary Power powerset. Then we need to create a script that will grant this power on map entry, and lastly, we need to apply it to the maps of our choosing. This will also require that you have already setup a server for creating bins, and a set of loose data.
Useful Links for prior to this tutorial
- Binning Setup: https://corps.ouro-comdev.com/index.php?title=Server_Setup_for_Making_Bins
- Powers - Not necessary for this but helpful: https://corps.ouro-comdev.com/index.php?title=Powers
Files to be modified/created
- \serverdata\defs\powers\Temporary_Powers_Temporary_Powers.powers
- -We will modify this file, it is the actual powers located in "Temporary Powers"
- \serverdata\defs\powers\Temporary_Powers.powersets
- -We will modify this file, it is the container for all temporary powers
- \serverdata\scripts.loc\ScriptDefs\Holiday_Snow.scriptdef
- -We will create this file, it will grant the temporary power
- \serverdata\specs\maps.spec
- -We will modify this file, it will attach our script to the specific maps
Powers Files
Temporary_Powers.powersets
We are going to open up Temporary_Powers.powersets to modify it, open it with notepad or notepad++. Around line 6089 should be the end of the Temporary_Powers category before the start of Temporary_Powers.Accolades. Before the ending }, we need to add the following. Please keep in mind that the name following Temporary_Powers.Temporary_Powers.<NAME> is going to be the name of the power, and needed for the next step!
Powers Temporary_Powers.Temporary_Powers.Holiday_Snow Available 0 AIMaxLevel 0 AIMinRankCon -9999 AIMaxRankCon 9999 MinDifficulty 2 MaxDifficulty 9999
Temporary_Powers_Temporary_Powers.powers
I simply added the new power to the end of the Temporary_Powers_Temporary_Powers.powers file
Power Temporary_Powers.Temporary_Powers.Holiday_Snow { Name "Holiday_Snow" DisplayName "Holiday_Snow" Type kAuto Accuracy 1 EntsAffected kCaster EntsAutoHit kCaster Target kCaster Range 0 EnduranceCost 0 IdeaCost 0 InterruptTime 0 TimeToActivate 0 RechargeTime 0 ActivatePeriod 50000 EffectArea kCharacter Radius 0 Arc 0 AIReport kNever // Additional Power Factors ShootThroughUntouchable kTrue DisplayShortHelp "Holiday_Snow" DisplayHelp "Holiday_Snow" TimeToConfirm 0 CastThroughHold kTrue CastThroughSleep kTrue CastThroughStun kTrue CastThroughTerrorize kTrue DoNotSave kTrue ShowInManage kFalse ShowInInventory kFalse ShowInInfo kFalse ShowBuffIcon kFalse IconName "Temporary_HolidayPBAoE.tga" AttribMod { Name "Ones" Table "Ranged_Ones" Aspect kCur Attrib kNull Target kTarget Scale 1 Type kMagnitude AllowStrength kFalse AllowResistance kFalse Delay 0 Duration 9999 Magnitude 1 Period 0 Chance 1 NearGround kFalse CancelOnMiss kFalse StackType kReplace ContinuingFX WORLD\WinterEvent\N_SnowFall.fx } }
This is basically the Instant SnowStorm power with a few tweaks. It shouldn't stay across zones (dismisses once you leave the zone) and it does not have the initial cast animations.
The Scripts and Specs
Scripts
Create a new file in \serverdata\scripts.loc\ScriptDefs and name it Holiday_Snow.script.def Put the following contents into the file to tell it to automatically grant the temporary power we created.
ScriptDef { ScriptName OnEnterGrantPowerZone // Vars var Power = Temporary_Powers.Temporary_Powers.Holiday_Snow }
maps.spec
Maps.spec includes alot of information for zones. Specifically we want to add a ZoneScript to each zone that we want snow to appear in. Here is what a zone looks like in maps.spec
// Atlas Park Map City_01_01.txt { // appropriate level ranges for this zone MissionMinLevel 1 SpawnOverrideMinLevel 1 SpawnOverrideMaxLevel 10 ZoneScripts scriptdefs/LevelOne_LevelUpReminder.scriptdef MissionsAllowed Hero PlayersAllowed Hero MissionDoors Office, AbandonedOffice, Warehouse, AbandonedWarehouse, Sewers, Caves, Tech, 911_AP_Family_Jewels, 911_AP_First_National, 911_AP_Exchange, PPD_APdoor1, PoliceBandCaves, PoliceBandSewers, PoliceBandOffice ,PoliceBandAbandonedOffice, PoliceBandWarehouse, PoliceBandAbandonedWarehouse, PoliceBandCircleOfThorns, Safeguard, Architect, AP_PP_Office, AP_PP_AbandonedOffice, AP_PP_Sewers, AP_PP_Caves, AP_PP_Manhole, AP_PP_AbandonedWarehouse, AP_PP_Warehouse, AP_TP_Caves, AP_TP_AbandonedOffice, AP_TP_Office, AP_TP_Sewers, AP_TP_Tech, AP_TP_Manhole, AP_TP_AbandonedWarehouse, AP_TP_Warehouse, AP_HW_Office, AP_HW_AbandonedOffice, AP_HW_Tech, AP_HW_Sewers, AP_HW_Truck, AP_HW_Manhole, AP_HW_AbandonedWarehouse, AP_HW_Warehouse, AP_D_AbandonedOffice, AP_D_Office, AP_D_Sewers, AP_D_Tech, AP_D_Tech, AP_D_Warehouse, AP_D_Manhole, AP_D_Truck, AP_D_AbandonedWarehouse, AP_AI_AbandonedWarehouse, AP_AI_AbandonedOffice, AP_AI_Warehouse, AP_AI_Sewers, AP_AI_Sewers, AP_AI_Tech, AP_AI_Manhole, AP_AI_Truck, AP_MH_Mission4, AP_OF_M3, RS_I_1, AP_AT_M4, AP_SC_M4, OGT_ShiningStarsBaseOne, OmegaTeamMemorial, SigStory2PhalanxHQ PersistentNPCs FreedomCorp_City_01_01, Tony_Kord, Laurence_Mansfield, Jose_Brogan, FreedomCorp_City_01_01b, Susan_Davies, Security_Chief_01, MsLiberty, FreedomCorp_City_01_03, Iris_Parker, SuperGroupRegistrar, City_Representative, Sarah_Juarez, Henry_Peter_Wong, Azuria, Rick_Davies, Sarah_Peters, Security_Chief_04, Jonathan_Smythe, FreedomCorp_City_01_01c, Charlie, NotorietyContact6, Architect_Studio_Manager_H_AP, Architect_Greeter_AP, Architect_Instructor_AP, Architect_ComputerTech_AP, Architect_AsstManager_AP, Architect_MedicalTech_AP, Architect_VenderTech_AP,OGTH_Dillo_Act1, OGTH_Flambeaux_Act1, OGTH_Grym_Act1, OGTH_Proton_Act1, OGTH_Twinshot_Act1, Officer_Nelson_HabashyMish2, Wavelength, TUNNEL_Paragon, AntonioNashSSA2_2 VisitLocations Statue1, Patrol_Hard_5_City_01_01, Patrol_Hard_4_City_01_01, Patrol_Hard_3_City_01_01, Patrol_Hard_2_City_01_01, Patrol_Hard_1_City_01_01, Patrol_Easy_5_City_01_01, Patrol_Easy_4_City_01_01, Patrol_Easy_3_City_01_01, Patrol_Easy_2_City_01_01, Patrol_Easy_1_City_01_01, //Plaques CitizenCrimeAct2, AxisAttack1, CitizenCrimeAct1, MightForRightAct1, PsychicFeedbackLoop1, EncounterLayouts AroundDoor, Single, Snatch, Ambush, AroundVandalism, Around, VillainGroups Clockwork, Hellions, Vahzilok, Skulls, Arachnos }
We basically want to add
ZoneScripts scriptdefs/Holiday_Snow.scriptdef
to the end of the ZoneScripts area of each map we want to enable this on. Once you have done that, save your files, and bin away. When you start the server and enter a zone that has that script, you will be granted the power and it will start snowing. When you leave the map and enter one that does not have the script, the power should go away.