New weapon behaviours

This commit is contained in:
2016-03-01 13:26:50 +01:00
parent 6eb0b83d6b
commit e4c6a19c38
12 changed files with 232 additions and 55 deletions
+1
View File
@@ -49,5 +49,6 @@
<xs:include schemaLocation="Components/DoubleJump.xsd"/>
<xs:include schemaLocation="Components/WeaponAttachment.xsd"/>
<xs:include schemaLocation="Components/DefenderWeapon.xsd"/>
<xs:include schemaLocation="Components/SidearmWeapon.xsd"/>
<xs:include schemaLocation="Components/CapturePointGameMode.xsd"/>
</xs:schema>
@@ -4,6 +4,18 @@
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
<xs:include schemaLocation="../Types/WeaponSlotEnum.xsd"/>
<xs:complexType name="WeaponStateEnum" mixed="true">
<xs:complexContent>
<xs:extension base="t:enum">
<xs:choice>
<xs:element name="Idle" type="t:int" fixed="0" minOccurs="0"/>
<xs:element name="Firing" type="t:int" fixed="1" minOccurs="0"/>
<xs:element name="Reloading" type="t:int" fixed="2" minOccurs="0"/>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="DefenderWeapon">
<xs:complexType>
<xs:all>
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<SidearmWeapon xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="SidearmWeapon.xsd">
<MagazineAmmo>16</MagazineAmmo>
<MagazineSize>16</MagazineSize>
<BaseDamage>20</BaseDamage>
<RPM>120</RPM>
<ViewPunch>0.01</ViewPunch>
<ReloadTime>0.5</ReloadTime>
<Slot><Secondary/></Slot>
<TriggerHeld>false</TriggerHeld>
<FireCooldown>0</FireCooldown>
<IsReloading>false</IsReloading>
<ReloadTimer>0</ReloadTimer>
</SidearmWeapon>
@@ -0,0 +1,48 @@
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:t="types">
<xs:import schemaLocation="../Types.xsd" namespace="types"/>
<xs:include schemaLocation="../Types/WeaponSlotEnum.xsd"/>
<xs:complexType name="WeaponStateEnum" mixed="true">
<xs:complexContent>
<xs:extension base="t:enum">
<xs:choice>
<xs:element name="Idle" type="t:int" fixed="0" minOccurs="0"/>
<xs:element name="Firing" type="t:int" fixed="1" minOccurs="0"/>
<xs:element name="Reloading" type="t:int" fixed="2" minOccurs="0"/>
</xs:choice>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="SidearmWeapon">
<xs:complexType>
<xs:all>
<xs:element name="MagazineAmmo" type="t:int" minOccurs="0">
<xs:annotation><xs:documentation>Ammo currently loaded into the magazine</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="MagazineSize" type="t:int" minOccurs="0">
<xs:annotation><xs:documentation>Max number of rounds in a magazine</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="BaseDamage" type="t:double" minOccurs="0">
<xs:annotation><xs:documentation>Damage dealt if all shotgun pellets hit</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="RPM" type="t:double" minOccurs="0">
<xs:annotation><xs:documentation>Rate of fire in rounds per minute</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="ViewPunch" type="t:float" minOccurs="0">
<xs:annotation><xs:documentation>View punch in radians for each shell fired</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="ReloadTime" type="t:double" minOccurs="0">
<xs:annotation><xs:documentation>Time it takes to load ONE SHELL into the weapon in seconds</xs:documentation></xs:annotation>
</xs:element>
<xs:element name="Slot" type="WeaponSlotEnum" minOccurs="0"/>
<xs:element name="TriggerHeld" type="t:bool" minOccurs="0"/>
<xs:element name="FireCooldown" type="t:double" minOccurs="0"/>
<xs:element name="IsReloading" type="t:bool" minOccurs="0"/>
<xs:element name="ReloadTimer" type="t:double" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>
+2 -7
View File
@@ -6,11 +6,6 @@
<Origin X="0" Y="0.772000015" Z="0"/>
<Size X="1" Y="1.60000002" Z="1"/>
</c:AABB>
<c:AssaultWeapon>
<Slot>
<Secondary/>
</Slot>
</c:AssaultWeapon>
<c:Collidable/>
<c:DefenderWeapon>
<TimeSinceLastFire>1.6944730461160304</TimeSinceLastFire>
@@ -399,11 +394,11 @@
<Entity name="SecondaryAttachment">
<Components>
<c:Spawner>
<EntityFile>Schema/Entities/AssaultWeaponView.xml</EntityFile>
<EntityFile>Schema/Entities/SidearmWeaponView.xml</EntityFile>
</c:Spawner>
<c:Transform/>
<c:WeaponAttachment>
<Weapon>AssaultWeapon</Weapon>
<Weapon>SidearmWeapon</Weapon>
</c:WeaponAttachment>
</Components>
<Children/>
+1
View File
@@ -52,6 +52,7 @@
<xs:element ref="c:Button" minOccurs="0"/>
<xs:element ref="c:WeaponAttachment" minOccurs="0"/>
<xs:element ref="c:DefenderWeapon" minOccurs="0"/>
<xs:element ref="c:SidearmWeapon" minOccurs="0"/>
</xs:all>
</xs:complexType>
</xs:element>