I'm a fan of whatever's good the the NPCs is good for the PC, and giving back what you get is very satisfying.
Addictions that don't leave out particular build paths and that don't have to be somehow tuned such that they are good for both enemies and PCs at the same time?One thing we could do is make additional addictions which requires high numbers in at least two attributes to unlock. That would be a fair amount of work, though. Even better would be some kind of modular, build-your-own-addiction system.
Unlikely. If someone has some spare hosting space we might (very big *might*) get it online using Webswing. Otherwise, no, just maintaining the desktop version is plenty of work already.I tired around a bit yesterday, but did anyone manage to run it on an android tablet?
Being better designed is always an upside, but why is the game automatically better if the enemies' addictions are generalized like the players? Isn't the only thing that matters that they are easy to understand with minimal effort?Following the line of discussion - player addictions can be done as their own versions, but I'm sure we walk away with a stronger program and game if we modularize everything and design it better.
that is very much -not- what you said. Sorry!Following the line of discussion - player addictions can be done as their own versions, but I'm sure we walk away with a stronger program and game if we modularize everything and design it better.
I agree that generalizing everything would make the code a lot cleaner, but on some point that ship has sailed long ago. Traits, for example, are so varied that to make them modular you'd need a thousand possible triggers and effects, and then check for those trigger pretty much every other line of code. Addictions are more confined, so it may be possible to overhaul the existing ones. Not sure how Reyka's will fit in, but the others should be doable.
@12centDime Having the NPCs approach the player during the day sounds great. It'd be a lot of writing, which, well... But it shouldn't be very difficult to fit in mechanically. Turning down NPCs and having them turn down the player seems like a good idea as well, for when their affection is low. Maybe you could even bargain with them; get your fix in exchange for some negative effect during the next night... Plenty of room to expand.
public abstract class StatusEffect {
protected String m_Name;
protected String m_Description;
protected String m_Cause;
protected int m_TurnsRemaining;
protected int m_Magnitude;
protected boolean m_IsStackable;
protected boolean m_StackCount;
public enum StatusType{
AttributeBuff, AttributeDebuff,
Exhausted, Stunned, Unconscious,
StanceFire, StanceWater, StanceWind, StanceStone, StanceVoid,
Alluring, Protected, Shielded,
Enthralled, Horny, Frenzied, Tranced
}
protected StatusType St_Type;
abstract public void check_Start();
abstract public void sayEffectStart();
abstract public void doEffectStart();
abstract public void check_Continue();
abstract public void sayEffectContinuing();
abstract public void doEffectContinue();
abstract public void check_End();
abstract public void sayEffectEnd();
abstract public void doEffectEnd();
}
public class GameAI {
protected String m_Name;
protected String m_Description;
public enum Character_Mood {
NONE, //default mood.
confident, //Will attack.
dominant, //Will humiliate.
sad, //Will be submissive and not attack.
angry, //Will be reckless and not consider risks
scared, //Not attacking, will avoid anything.
nervous, //increased chance of waiting.
desperate, //Will take great risks
horny //???
}
public Strategy m_MainStrategy;
public Strategy m_BackupStrategy;
//MAP RELATED
public void decide_Destination(){}
/***/
public void decide_Movement(){
}
//DAYTIME RELATED
public void decide_Purchase(){}
public void purchase(Character Self, Item I){ Self.getM_Inventory().add(I); System.out.println("DEBUG: " + Self.m_Name + " just bought a " + I.getM_Name()); }
//COMBAT RELATED
public void decide_Skill(){}
public void parse_Possible_Skills(){}
public void update_Mood(){
}
There's not much I can say about that bit of code other than that I'm interested to see where it goes. Please try to use the regular Java naming conventions, though. And be consistent: I count three different naming schemes just in those snippets.
About stances and effects, do you mean you want to make stances into a sort of status effects? I suppose that would be possible, but I don't really see the benefit. There is always a stance, so you might as well keep a seperate reference to it. (While you're at it, maybe you can see if you can add in support for multiple simultaneous positions for use with pets?)
to "facefuck" you need
15 points or more in fetish
you need a dick or strapon
you need to be naked (bottom)
not inserted, not behind, need to stand in a stance that is flagged as in front, also in a dominant stance. Also not bound/winded/stunned or whatever
public FaceFuck(Character self) {
super("Face Fuck", self);
}
@Override
public boolean requirements(Combat c, Character user, Character target) {
return user.get(Attribute.Fetish) >= 15;
}
@Override
public boolean usable(Combat c, Character target) {
return getSelf().canAct() && c.getStance().dom(getSelf()) && c.getStance().prone(target)
&& (getSelf().crotchAvailable() && getSelf().hasDick() || getSelf().has(Trait.strapped))
&& !c.getStance().inserted(getSelf()) && c.getStance().front(getSelf())
&& !c.getStance().behind(target);
I really like this mod but I am barely able to make it through a match as the mod ends up locking up throughout the match. Is there a specific reason my game might be locking up? Other than that I find the game enjoyable albeit quite buggy but I guess I can start listing the bugs as they arise.