forums | blogs | polls | tutorials | downloads | rules | help

Possible to force never unequip weapon

ChickenGeorge's picture

Hi. I was wondering for my new sword.
It will be a cursed sword. >)
Does anybody know of a modifier name that prevents player from EVER unequiping a weapon?
I want that the weapon is too good of a temptation accept that it can never be let go of.

I sure hope there is a way to do it!!!

http://fav.me/dc0oeyy

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
ChickenGeorge's picture
No Prob. About Skrit Sword

bare_elf wrote:
Sorry for kind of hijacking your topic about the sword, but it did remind me of Elric's sword "stormbringer" not only in what it can do but how it looks. Elf
That's fine. I looked up the link and yeah, It looks like the sword. I think also the original 2D version was inspired by that series. Surely I will take up your recommendation and read it.

So the only answer to this is to do the Xaa learn script in 30 days. I'm about half way through.

Road map:  // will implement in stages

1)Equipping once picked up.
	a)find out if object is picked up and immediately force equip it.
	b)find out if item is in inventory and force equip it
	c)find out if object is dropped and force equip it

2)Has cursed properties
	a)demands 'feeding' with blood of enemies.
		1)It auto-enters player into possessed state but only attacks enemies
		2)If does not get in time then possess and starts attacking friends
		3)If not fed can't perform powers
			a)Means variable 'is capable of performing set or not'
			B)Possibly weapon contains a charge.
			// And when empty begins tormenting player.
3)Has interface / or conversation
	a) Regular babble as with any npc
	b) Asks what Master needs - (only if sword has been fed)
		Powers/Services provided:
		1)Mana recharge
		2)Kill opponent
		3)Flamethrower effect (Was in original, why not?)
			a) Custom animation to point fire at enemies
4)Has banters during quest moments

Additional implementation:  // In other siegelets, quest related:
	can store 'evil spirits/powers'
	like Ghostbusters portable containment unit.

My research has turned up some interesting 'state' info and variable info:

Messages we will need:

Equipment:
WE_GOT - sent when an actor picks up an item.
WE_PICKED_UP - sent when an actor picks up an item or gold.
WE_DROPPED - Object was dropped, also received when an object first enters the world.
WE_EQUIPPED - Sent when an actor equips an item
WE_UNEQUIPPED - Sent when an actor un-equips an item


Weapon Interface:
WE_REQ_ACTIVATE - sent to objects to tell them to start doing their thing. Frequently used in skrits 
			...and triggers in the level.
WE_REQ_TALK_BEGIN - Sent to an actor when they start a conversation with another actor.
WE_REQ_TALK_END - Sent to an actor when they finish a conversation with another actor.
WE_REQ_USE - an object gets this message sent to it when a player wants to "use" it.


attacks:
WE_WEAPON_LAUNCHED - Sent to the ammo when it is launched.
WE_WEAPON_SWUNG - unused
WE_ANIM_ATTACH_AMMO - nema sends this message when ammo is to be created/attached
WE_ANIM_WEAPON_FIRE - nema sends this message upon ammo release for projectile and contact for melee
WE_ANIM_WEAPON_SWUNG - nema sends this message upon melee attack begin/end (data1 is begin=0/end=1)
WE_ANIM_SFX - Special Effect (SFX number is stored in data1)

If Arcadion ask where enemy is to dispatch:
WE_ENEMY_SPOTTED - Sent when an enemy enters sight range, and a visibility check succeeds

WE_ENGAGED_HIT_KILLED - sent to actor: the engaged object was hit and killed by the actor
WE_ENGAGED_HIT_LIVED - sent to actor: engaged object was hit and still lived
...............................
bools: 		// from help 1.1 (microsoft)

bool IsEquipped( void ) const
eEquipSlot EquipSlot
bool IsIdentified 	// ?
float ItemPower 	//?

+00:00:03.252 - Objects with GUI may be placed in inventory
+00:00:03.252 - 
+00:00:03.252 - Class: Goid
+00:00:03.253 - 
+00:00:03.253 -     bool IsValid( void ) const /* Returns true if this refers to a valid game object. */
+00:00:03.253 -     bool IsValidMp( void ) const /* Returns true if this refers to a valid game object that is safe for MP transfer. */
+00:00:03.254 - 
+00:00:03.254 -     const Goid* AnyGoid /* Returns the 'any' Goid constant. */
+00:00:03.254 -     Go* Go /* Returns a pointer to the Go that this Goid refers to, or NULL if invalid. */
+00:00:03.254 -     const Goid* InvalidGoid /* Returns the invalid Goid constant. */
+00:00:03.254 -     const Goid* NoneGoid /* Returns the 'none' Goid constant. */
+00:00:03.255 -     const Scid* Scid /* Returns the corresponding Scid, or Scid.InvalidScid if invalid. */

+00:00:03.258 -     void DropItemsAroundBody( void ) [RPC]
+00:00:03.258 -     void DropItemsFor( const Goid* ) [RPC]
+00:00:03.259 -     Go* GetEquipped( eEquipSlot ) const
+00:00:03.260 -     eEquipSlot GetEquippedSlot( const Goid* ) const
+00:00:03.260 -     eEquipSlot GetEquippedSlot( const Go* ) const [COMPLEX]
+00:00:03.260 -     Go* GetItem( eInventoryLocation ) const
+00:00:03.261 -     Go* GetItemFromTemplate( const string& ) const [COMPLEX]
+00:00:03.261 -     eInventoryLocation GetLocation( const Go* ) const [COMPLEX]

+00:00:03.265 -     bool IsEquipped( const Go* ) const [COMPLEX]

+00:00:03.267 -     bool IsSlotEquipped( eEquipSlot ) const

+00:00:03.268 -     bool ListItems( QtColl&, eInventoryLocation, GopColl& ) const [COMPLEX]
+00:00:03.268 -     bool ListItems( eInventoryLocation, GopColl& ) const [COMPLEX]
+00:00:03.269 -     bool ListItems( eQueryTrait, eInventoryLocation, GopColl& ) const [COMPLEX]
+00:00:03.269 -     bool LocationContainsTemplate( eInventoryLocation, const string& ) [COMPLEX]
+00:00:03.269 -     FuBiCookie* RCAdd( Go*, eInventoryLocation, eActionOrigin, bool ) [COMPLEX] [RPC] [CHECK_SERVER] [RETRY]
+00:00:03.269 -     bool LocationContainsTemplate( eInventoryLocation, const string& ) [COMPLEX]

+00:00:03.271 -     void RCDeactivateGuiItems( void ) [RPC]  	// ?
+00:00:03.271 -     void RCEndUse( void ) [RPC]			// ?

+00:00:03.275 -     void RCSetForceGet( bool ) [RPC]

+00:00:03.275 -     void RCSetInventoryDirty( bool ) [RPC]
+00:00:03.276 -     FuBiCookie* RCSetLocation( Go*, eInventoryLocation, bool ) [COMPLEX] [RPC] [CHECK_SERVER] [RETRY]
+00:00:03.277 -     FuBiCookie* RCTransfer( Go*, Go*, eInventoryLocation, eActionOrigin, bool ) [COMPLEX] [RPC] [RETRY]

+00:00:03.278 -     FuBiCookie* RSAdd( Go*, eInventoryLocation, eActionOrigin, bool ) [COMPLEX] [RPC] [RETRY]

+00:00:03.279 -     FuBiCookie* RSAutoEquip( eEquipSlot, const Goid*, eActionOrigin ) [RPC] [RETRY]
+00:00:03.280 -     FuBiCookie* RSAutoEquip( eEquipSlot, const Goid*, eActionOrigin, bool ) [RPC] [RETRY]

+00:00:03.280 -     FuBiCookie* RSCreateAddItem( eInventoryLocation, const string& ) [COMPLEX] [RPC] [RETRY]
+00:00:03.281 -     FuBiCookie* RSEquip( eEquipSlot, const Goid*, eActionOrigin ) [RPC] [RETRY]

+00:00:03.282 -     FuBiCookie* RSSelect( eInventoryLocation, eActionOrigin ) [RPC] [RETRY]

+00:00:03.284 -     FuBiCookie* RSSetLocation( Go*, eInventoryLocation, bool ) [COMPLEX] [RPC] [RETRY]
+00:00:03.284 -     FuBiCookie* RSTransfer( Go*, Go*, eInventoryLocation, eActionOrigin, bool ) [COMPLEX] [RPC] [RETRY]

+00:00:03.285 -     bool SAutoGet( const Goid*, eActionOrigin )  // if character drop then force retreive?

+00:00:03.289 -     void SSetInventoryDirty( bool ) [RPC]

+00:00:03.290 -     bool TestEquip( const Goid*, eEquipSlot ) const
+00:00:03.290 -     bool TestEquipPassive( const Goid* ) const
+00:00:03.290 -     bool TestGet( const Goid* ) const
+00:00:03.291 -     bool TestGet( const Goid*, bool ) const

+00:00:03.294 -     Go* SelectedMeleeWeapon

+00:00:03.362 -     void RSMove( const SiegePos&, eQPlace, eActionOrigin ) [COMPLEX] [RPC]


+00:00:32.494 -     eEquipSlot
+00:00:32.494 -         es_shield_hand = 0
+00:00:32.494 -         es_weapon_hand = 1
+00:00:32.494 -         es_feet = 2
+00:00:32.494 -         es_chest = 3
+00:00:32.494 -         es_head = 4
+00:00:32.494 -         es_forearms = 5
+00:00:32.494 -         es_amulet = 6
+00:00:32.495 -         es_spellbook = 7
+00:00:32.495 -         es_ring_0 = 8
+00:00:32.495 -         es_ring_1 = 9
+00:00:32.495 -         es_ring_2 = 10
+00:00:32.495 -         es_ring_3 = 11
+00:00:32.495 -         es_ring = 12
+00:00:32.495 -         es_none = 13
+00:00:32.495 -         es_any = 14

DrakeLyon's picture
Interested in all of them :)

bare_elf wrote:
I would suggest the following: The Liaden Universe by Sharon Lee and Steve Miller. The First book is Fledgling. The space ship in this series reminds me very much of Elric's Stormbringer. One the lighter side but still very creative is the series about Beka Cooper by Tamora Pierce was in the kids section of the book store. However many parents of the kids who purchased it asked has a new book in the series arrived yet? They had read the books themselves and wanted to read more. Now for a very twisted series containing dragons, sex with dragons interesting female powers (this series is definitely not for kids) The Dragon Temple Saga by Janine Cross. I believe this series is out of print. It can still be found if you have time to search used book stores and sometimes on line. The first book is Touched by Venom Elf
The last one seems ever so intriguing, but I may need a bit of alone time with it lol. I'll actually put all of these on my shopping list if I can find them online. It's been awhile since I've genuinely gotten to read.

Also ChickenGeorge, I think the sword sounds like a great idea and it looks awesome. Though not a whole lot of people would be modding DS1 anymore.
As far as getting LoA for Steam DS1, use this - http://steamcommunity.com/sharedfiles/filedetails/?id=1148174213

bare_elf's picture
ChickenGeorge Sorry

Sorry for kind of hijacking your topic about the sword, but it did remind me of Elric's sword "stormbringer" not only in what it can do but how it looks.
Elf

bare_elf's picture
Books to read DrakeLyon

I would suggest the following:
The Liaden Universe by Sharon Lee and Steve Miller. The First book is Fledgling. The space ship in this series reminds me very much of Elric's Stormbringer.
One the lighter side but still very creative is the series about Beka Cooper by Tamora Pierce was in the kids section of the book store. However many parents of the kids who purchased it asked has a new book in the series arrived yet? They had read the books themselves and wanted to read more.
Now for a very twisted series containing dragons, sex with dragons interesting female powers (this series is definitely not for kids) The Dragon Temple Saga by Janine Cross. I believe this series is out of print. It can still be found if you have time to search used book stores and sometimes on line. The first book is Touched by Venom
Elf

DrakeLyon's picture
Recommended Books?

bare_elf wrote:
DrakeLyon wrote:
bare_elf wrote:
Reminds me of the weapon that Elric of Melnibone carried in the novels by Michael Moorcock. If you have not read the books you really need to. This is a link to the Wiki about them. https://en.wikipedia.org/wiki/Elric_of_Melniboné Elf
I absolutely loved this saga!! Great story all in one! You are so awesome for knowing this bare_elf Smile

I worked in a book store where I was the buyer for the Science Fiction and Fantasy Section. We had over 300 titles in stock and I read everyone of them. Plus every new title that where as yet unreleased by the various publishers to select which ones and how many copies of the selected titles we would stock. It took me about 10 weeks to read the 300 we had in stock when I took over that job. Then I spent half of my work week reading the new ones, sometimes more.

I would be happy to recommend books like the Michael Moorcock novels if you are interested, or any other sub category of SciFi and Fantasy.
Elf


It's been awhile since I've gotten the chance to read anything lately. I'd actually love the opportunity to read something as great as the Elric Saga. What books would you recommend?

bare_elf's picture
Worked in a book store

DrakeLyon wrote:
bare_elf wrote:
Reminds me of the weapon that Elric of Melnibone carried in the novels by Michael Moorcock. If you have not read the books you really need to. This is a link to the Wiki about them. https://en.wikipedia.org/wiki/Elric_of_Melniboné Elf
I absolutely loved this saga!! Great story all in one! You are so awesome for knowing this bare_elf Smile

I worked in a book store where I was the buyer for the Science Fiction and Fantasy Section. We had over 300 titles in stock and I read everyone of them. Plus every new title that where as yet unreleased by the various publishers to select which ones and how many copies of the selected titles we would stock. It took me about 10 weeks to read the 300 we had in stock when I took over that job. Then I spent half of my work week reading the new ones, sometimes more.

I would be happy to recommend books like the Michael Moorcock novels if you are interested, or any other sub category of SciFi and Fantasy.
Elf

DrakeLyon's picture
Melnibone!

bare_elf wrote:
Reminds me of the weapon that Elric of Melnibone carried in the novels by Michael Moorcock. If you have not read the books you really need to. This is a link to the Wiki about them. https://en.wikipedia.org/wiki/Elric_of_Melniboné Elf
I absolutely loved this saga!! Great story all in one! You are so awesome for knowing this bare_elf Smile

bare_elf's picture
That sword looks like I have seen it before.

Reminds me of the weapon that Elric of Melnibone carried in the novels by Michael Moorcock. If you have not read the books you really need to. This is a link to the Wiki about them. https://en.wikipedia.org/wiki/Elric_of_Melniboné
Elf

ghastley's picture
Memory dredging in progress

A couple of points:

Just like the character who gets the sword, I think you'd regret the choice to make it completely undroppable. You'd want a way to undo the curse, and a quest to do so. So the tied item wants to be scripted, not simply templated for this. That way the lock can be picked, and things can move on.

The way the opposite has been achieved (items that certain races/genders can't use) is probably a good pointer to doing this. Those had scripts that caught the WE_EQUIPPED message, and dropped the item again, if it wasn't allowed. You want to do the opposite, and catch the message that the item is being dropped, and re-equip it. The basic logic will be the same, except that you'd incorporate the check on the curse being lifted in that code.

ChickenGeorge's picture
Thank You. Equip Modifiers List Drop Sell Gas

bare_elf wrote:
With all DS1 items you can add to the template for the weapon is to make the weapon so it can not be sold. It can be dropped or given to another party member. It just requires one line in the template. However my brain has turned to mush and I can not remember what that line says or where it goes in the template. I know some of the items I have created have this line item. It is just I have a large number of mods that exist in several versions living on several hard drives on several computers. The mod may also be on a system or hard drive that crashed. Maybe someone like iryan, ghastley, or Killer remembers.

Elf


Thank you BE. I hear you. Like in the movies, when the closet door opens, all the stuff falls out onto the person.

RSimpkinuk57 wrote:
Goes in [gui]

Found it in GPG's template for Merik's staff.

Thank you Rsimpkinuk. Actually I have that line already. I found it also in the Siegelet I make mods for (Lazarus) but it has a 'b' in front of it: b can_sell = false. Perhaps the b is messing it up.
I also found an [equip_modifiers]:
drop_on_death = false;
So went on to experiment with different commands to see if they would work...

		prevent_drop = true;    // ?
		prevent_unwield = true; // ?
		prevent_unequip = true; // ?

..but these don't work. I wish there was a giant list of [equip_modifiers].
Google info about DS1 is so hard.
One, everyone has moved on DungeonSiegeII
Two, Gmax is also a Helmet company.
Three, it's an old game and I heard Steam version doesn't have LOA.
Most questions about modding and the word dungeon returns (for some reason) a bunch of shyrim results.
And looking for any list of gas commands always returns lots of list of prefixes and suffixes.
But what I am looking for in neither of those.
One more beef, the siegelet I play and mod for (Lazarus) take a long time to start a new game to test new mods. And the Gas has done away with much of the DungeonSiege gas definitions.

For instance I add this to the gas for the weapon:

			[*]
			{
				alteration 		= ALTER_LIFE_STEAL;
				description 		= "5 Life Stolen per Hit";
				duration 		= #infinite;
				is_permanent 		= true;
				is_single_instance 	= false;
				value 			= 5;
			}

But it doesn't work. So even if I find code that should work, it ends up not working anyways.

Here is my new sword.

I'm thinking the best way to go about preventing the player of removing it is to create some stipulations. For instance, 'must have this item' or 'check to see if play has (something that actually doesn't exist) before weapon can be moved'

If all else fails I can make it come with a 'possession' spell (charm) but the people the player ends up fighting are enemies instead of good people. And that's already possible. But I think the player would lose control of themselves and couldn't 'function' properly.

The original version of this sword is from an old 2D game and it had a demon inside it. It granted the player powers to kill, a fire blast, and restore all mana.

I wonder if it is possible to add code to a weapon to make it also grant these powers to the player. (right click item) Or even trigger a conversation like the original did.

can_sell = false;

Goes in [gui]

Found it in GPG's template for Merik's staff.

bare_elf's picture
one thing you could do ChickenGeorge

With all DS1 items you can add to the template for the weapon is to make the weapon so it can not be sold. It can be dropped or given to another party member. It just requires one line in the template. However my brain has turned to mush and I can not remember what that line says or where it goes in the template. I know some of the items I have created have this line item. It is just I have a large number of mods that exist in several versions living on several hard drives on several computers. The mod may also be on a system or hard drive that crashed.
Maybe someone like iryan, ghastley, or Killer remembers.

Elf