123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- class ShelterKit extends KitBase
- {
- override bool CanReceiveAttachment(EntityAI attachment, int slotId)
- {
- if ( !super.CanReceiveAttachment(attachment, slotId) )
- return false;
-
- ItemBase att = ItemBase.Cast(GetInventory().FindAttachment(slotId));
- if (att)
- return false;
-
- return true;
- }
- //================================================================
- // ADVANCED PLACEMENT
- //================================================================
- override void OnPlacementComplete( Man player, vector position = "0 0 0", vector orientation = "0 0 0" )
- {
- super.OnPlacementComplete( player, position, orientation );
-
- if ( GetGame().IsServer() )
- {
- //Create shelter site
- ShelterSite site = ShelterSite.Cast( GetGame().CreateObjectEx( "ShelterSite", GetPosition(), ECE_PLACE_ON_SURFACE ) );
- site.SetPosition( position );
- site.SetOrientation( orientation );
-
- //make the kit invisible, so it can be destroyed from deploy UA when action ends
- HideAllSelections();
- }
- }
- override bool DoPlacingHeightCheck()
- {
- return true;
- }
- override float HeightCheckOverride()
- {
- return 1.6;
- }
- override string GetPlaceSoundset()
- {
- return "Shelter_Site_Build_Start_SoundSet";
- }
-
- override string GetDeploySoundset()
- {
- return "Shelter_Site_Build_Finish_SoundSet";
- }
-
- override void DisassembleKit(ItemBase item)
- {
- if (!IsHologram())
- {
- ItemBase stick = ItemBase.Cast(GetGame().CreateObjectEx("WoodenStick",GetPosition(),ECE_PLACE_ON_SURFACE));
- MiscGameplayFunctions.TransferItemProperties(this, stick);
- stick.SetQuantity(4);
- Rope rope = Rope.Cast(item);
- CreateRope(rope);
- }
- }
-
- //Debug menu Spawn Ground Special
- override void OnDebugSpawn()
- {
- SpawnEntityOnGroundPos("Shovel", GetPosition());
- SpawnEntityOnGroundPos("Hammer", GetPosition());
- SpawnEntityOnGroundPos("Pliers", GetPosition());
- for (int i0 = 0; i0 < 4; ++i0)
- {
- SpawnEntityOnGroundPos("LongWoodenStick", GetPosition());
- }
-
- for (int i1 = 0; i1 < 8; ++i1)
- {
- SpawnEntityOnGroundPos("TannedLeather", GetPosition());
- }
-
- for (int i2 = 0; i2 < 4; ++i2)
- {
- SpawnEntityOnGroundPos("Fabric", GetPosition());
- }
-
- for (int i3 = 0; i3 < 50; ++i3)
- {
- SpawnEntityOnGroundPos("WoodenStick", GetPosition());
- }
- }
- }
|